package fr.xgouchet.wedding.shared.model;

import java.util.Date;

/**
 * Represents the settings of a wedding project
 * 
 * @author x.gouchet
 * 
 */
public class ProjectSettings {

	/**
	 * Default Constructor
	 */
	public ProjectSettings() {
		mBrideFirstName = "";
		mGroomFirstName = "";
		mWeddingDate = null;
		mUserMail = "";
		setChangePassword(false);
		setCurrentPsswd("");
		setNewPsswd("");
		setNewPsswdCheck("");
	}

	/**
	 * @param weddingDate
	 *            the weddingDate to set
	 */
	public void setWeddingDate(Date weddingDate) {
		mWeddingDate = weddingDate;
	}

	/**
	 * @param brideFirstName
	 *            the brideFirstName to set
	 */
	public void setBrideFirstName(String brideFirstName) {
		mBrideFirstName = brideFirstName;
	}

	/**
	 * @param groomFirstName
	 *            the groomFirstName to set
	 */
	public void setGroomFirstName(String groomFirstName) {
		mGroomFirstName = groomFirstName;
	}

	/**
	 * @param userMail
	 *            the userMail to set
	 */
	public void setUserMail(String userMail) {
		mUserMail = userMail;
	}

	/**
	 * @param changePassword
	 *            the changePassword to set
	 */
	public void setChangePassword(boolean changePassword) {
		mChangePassword = changePassword;
	}

	/**
	 * @param currentPsswd
	 *            the currentPsswd to set
	 */
	public void setCurrentPsswd(String currentPsswd) {
		mCurrentPsswd = currentPsswd;
	}

	/**
	 * @param newPsswd
	 *            the newPsswd to set
	 */
	public void setNewPsswd(String newPsswd) {
		mNewPsswd = newPsswd;
	}

	/**
	 * @param newPsswdCheck
	 *            the newPsswdCheck to set
	 */
	public void setNewPsswdCheck(String newPsswdCheck) {
		mNewPsswdCheck = newPsswdCheck;
	}

	/**
	 * @return the weddingDate
	 */
	public Date getWeddingDate() {
		return mWeddingDate;
	}

	/**
	 * @return the brideFirstName
	 */
	public String getBrideFirstName() {
		return mBrideFirstName;
	}

	/**
	 * @return the groomFirstName
	 */
	public String getGroomFirstName() {
		return mGroomFirstName;
	}

	/**
	 * @return the userMail
	 */
	public String getUserMail() {
		return mUserMail;
	}

	/**
	 * @return if settings is empty (ie : is a new project)
	 */
	public boolean isEmpty() {
		if ((mWeddingDate == null) || (mBrideFirstName.length() == 0)
				|| (mGroomFirstName.length() == 0))
			return true;
		return false;
	}

	/**
	 * @return the changePassword
	 */
	public boolean isChangingPassword() {
		return mChangePassword;
	}

	/**
	 * @return the currentPsswd
	 */
	public String getCurrentPsswd() {
		return mCurrentPsswd;
	}

	/**
	 * @return the newPsswd
	 */
	public String getNewPsswd() {
		return mNewPsswd;
	}

	/**
	 * @return the newPsswdCheck
	 */
	public String getNewPsswdCheck() {
		return mNewPsswdCheck;
	}

	/** the date of the wedding */
	private Date mWeddingDate;

	/** Bride's First name */
	private String mBrideFirstName;

	/** Gromm's First name */
	private String mGroomFirstName;

	/** User's Email adress */
	private String mUserMail;

	/** change the password */
	private boolean mChangePassword;

	/** The user's current password */
	private String mCurrentPsswd;

	/** The user's new password */
	private String mNewPsswd;

	/** The user's confirm new password */
	private String mNewPsswdCheck;
}
